package com.colin.response;

import lombok.Data;

/**
 * 统一相应的JSON数据格式
 * @param <T>data数据的泛型
 */
@Data
public class R <T> {
    private Integer code;
    private String message;
    private T data;

    /**
     * 成功的情况的泛型方法
     * @param data
     * @return
     * @param <T>
     */
    public static <T> R<T> ok(T data) {
        R<T> tr = new R<T>();
        tr.setCode(RCM.SUCCESS.getCode());
        tr.setMessage(RCM.SUCCESS.getMessage());
        tr.setData(data);
        return tr;
    }

    /**
     *
     * @param rcm
     * @return
     * @param <T>
     */
    public static <T> R<T> error(RCM rcm) {
        R<T> tr = new R<T>();
        tr.setCode(rcm.getCode());
        tr.setMessage(rcm.getMessage());
        return tr;
    }
}
